Skip to content

Conversation

@dependabot
Copy link

@dependabot dependabot bot commented on behalf of github Aug 14, 2025

Bumps ruby_llm from 1.3.1 to 1.6.1.

Release notes

Sourced from ruby_llm's releases.

1.6.1

RubyLLM 1.6.1: Tool Choice Freedom and Error Recovery 🛠️

Quick maintenance release with important fixes for tool calling and error recovery. Shipped three days after 1.6.0 because why make you wait?

🎉 Milestone: 2,700+ GitHub stars and 1.9 million downloads! Thank you to our amazing community.

🔧 OpenAI Tool Choice Flexibility

OpenAI defaults to 'auto' when tools are present. We were hardcoding it, blocking your overrides:

# Before: Couldn't override tool_choice
chat.with_params(tool_choice: 'required')  # Ignored!
Now: Your choice wins
chat.with_params(tool_choice: 'required')  # Works as expected
chat.with_params(tool_choice: 'none')      # Disable tools temporarily
chat.with_params(tool_choice: { type: 'function', function: { name: 'specific_tool' }})  # Force specific tool

Thanks to @​imtyM for catching this and fixing it in #336.

🔄 Orphaned Tool Message Cleanup

Rate limits can interrupt tool execution mid-flow, leaving orphaned tool result messages. This caused 'tool_use without tool_result' errors on retry:

# The problem flow:
# 1. Tool executes successfully
# 2. Tool result message saved
# 3. Rate limit hits before assistant response
# 4. Retry fails: orphaned tool result confuses the API
Now: Automatic cleanup on error
chat.ask("Use this tool")  # Rate limit? No problem. Orphaned messages cleaned up.

The fix handles both orphaned tool calls and tool results, ensuring clean conversation state after errors.

🔄 Tool Switching Mid-Conversation

New replace: true parameter lets you completely switch or remove tool contexts during a conversation:

# Start with search tools
chat = RubyLLM.chat.with_tools([SearchTool, WikipediaTool])
chat.ask("Research Ruby's history")
Switch to code tools for implementation
</tr></table>

... (truncated)

Commits
  • b2855b4 fix: skip flaky test for orphaned tool call messages on JRuby
  • 91eb158 Appraisal update
  • 68be598 Bump version to 1.6.1
  • de600e9 Updated models
  • bb3cfe1 Appraisal update
  • 92de76c fix: Simplify orphaned tool message cleanup and fix JRuby compatibility
  • b04dac3 fix: Make rate limit error mock compatible with Ruby 3.1
  • 7869c9f fix: Make rate limit error mock compatible with Ruby 3.1
  • 5d33920 New OpenAI cassettes after removal of tool_choice auto
  • 5b28b8e Updated models
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [ruby_llm](https://github.com/crmne/ruby_llm) from 1.3.1 to 1.6.1.
- [Release notes](https://github.com/crmne/ruby_llm/releases)
- [Commits](crmne/ruby_llm@1.3.1...1.6.1)

---
updated-dependencies:
- dependency-name: ruby_llm
  dependency-version: 1.6.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file ruby Pull requests that update ruby code labels Aug 14, 2025
@dependabot @github
Copy link
Author

dependabot bot commented on behalf of github Aug 15, 2025

Superseded by #40.

@dependabot dependabot bot closed this Aug 15, 2025
@dependabot dependabot bot deleted the dependabot/bundler/ruby_llm-1.6.1 branch August 15, 2025 06:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file ruby Pull requests that update ruby code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants